Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SQL: Text colum can't have default value #64

Closed
jforberg opened this issue Mar 18, 2015 · 8 comments
Closed

SQL: Text colum can't have default value #64

jforberg opened this issue Mar 18, 2015 · 8 comments

Comments

@jforberg
Copy link
Contributor

Någon har råkat checka in lite trasig kod i vårt schema. Text får inte ha ett defaultvärde i Mysql. Anledningen är att Text är en referenstyp och lagras utanför tabellen.

BLOB/TEXT column 'purpose' can't have a default value: CREATE TABLE rents (idint(11) auto_increment PRIMARY KEY,d_fromdatetime,d_tildatetime,namevarchar(255),lastnamevarchar(255),emailvarchar(255),phonevarchar(255),purposetext DEFAULT '',disclaimertinyint(1) DEFAULT 0,statusvarchar(255) DEFAULT 'Ej bestämd',aktivtinyint(1) DEFAULT 1,council_idint(11),profile_idint(11),commenttext,servicetinyint(1) DEFAULT 0,created_atdatetime,updated_atdatetime,access_code varchar(255)) ENGINE=InnoDB

@jforberg
Copy link
Contributor Author

Vet inte hur du lyckades migrera detta @Zofz. Kör du en annan databas hemma än vi gör i produktion? Det är alltid enklare att köra samma databas som man utvecklar för, annars vet man inte vad man gör.

@jforberg
Copy link
Contributor Author

Fixade detta i master nu, dock finns det inget snyggt sätt att lösa detta eftersom det ligger en buggig migration i kedjan. Egentligen skulle man vilja laga den men eftersom ni andra troligt redan har kört migrationen blir det svårt. Nu fungerar det att ladda schemat i alla fall.

@davidwessman
Copy link
Member

Hmm, det var ju inte bra.
Men lokalt borde man ju kunna köra en rake db:reset (om man inte har sparat något viktigt under sina tester).

Jag har kört sqlite lokalt, är nog dags att byta!

@jforberg
Copy link
Contributor Author

@Zofz Nybörjarguiderna i rails rekommenderar sqlite3 för utvecklingsmiljön. Bara ett av många dåliga råd de ger nybörjare :)

Man vill alltid ha en så snarlik miljö som möjligt när man utvecklar. Annars ber man om problem.

@davidwessman
Copy link
Member

yepp, det kan jag definitivt förstå.

Har inte funderat över det, men får se till att byta 😄

@davidwessman
Copy link
Member

Märkte precis att development är confat till att köra sqlite3.
Hur gör ni för att köra mysql lokalt? Kör det i production?
(Vi borde ju dock byta till mysql på development av samma anledning som hela issuen.)

Edit:
Detsamma gäller configen i test.rb, borde köras med mysql också?

@davidwessman
Copy link
Member

@jforberg @henrikssn

@jforberg
Copy link
Contributor Author

@Zofz Det enklaste är att köra samma databas i alla tre lägen, är min erfarenhet. Eftersom vi kör mysql i produktion innebär detta i så fall mysql i test och development också. Konfig ser ut på samma sätt. Du bara fyller i config/database.yml att dev. och test också ska köra över mysql2.

Sedan att installera mysql är lätt på de flesta linuxburkar. Mysql kan dock heta Mariadb på din distro av politiska skäl men det är samma sak.

https://wiki.archlinux.org/index.php?title=MySQL&redirect=no

^ bra guide, tänk dock på att om du kör en äldre distro som inte gått över till systemd ännu (host ubuntu) så ser kommandot för att starta servicen lite annorlunda ut.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants