/ / Ako pridať_index v mysql2 + koľajniciach 3? - ruby-on-rail-3, mysql2

Ako pridať_index v mysql2 + koľajniciach 3? - Ruby-on-rail-3, mysql2

Ako pridávate indexy v mysql2?

s riadkom: vykonať "zmeniť tabuľku urli_development.slugs PRIDAŤ INDEX slugs_sluggable_id (sluggable_id)" všetko funguje dobre.

s riadkom: add_index: slugs,: sluggable_id Mám túto chybu "Invalid date".

Problém je, že musím pridať nasledujúci riadok: add_index (: slugs, [: name,: sluggable_type,: sequence,: scope],: unique => true,: name => "index_slugs_on_n_s_s_and_s")

Nad riadkom nefunguje.

Používam Rails 3 a mysql2 a pri pokuse o migráciu databázy mám túto chybu "Neplatný dátum".

Ako to robíš?

odpovede:

0 pre odpoveď č. 1

Mám takýto problém aj preto, aby som sa celkom úprimne priznal, že sa dostal do úplného "prečo". Ale chcem sa podeliť o niečo, čo som práve zistil.

Pokúste sa vytvoriť svoju tabuľku vylúčením poľa "id" .... add_index bude spúšťať hneď

class CreateSlugs < ActiverRecord::Migration
def self.up
create_table :slugs,:id=>false do |t|
t.string "name"
t.timestamps
end
add_index :indexes,"name",:name=>"slugs_name",:unique=>true
add_column :slugs,:id,:primary_key
end
end

Alebo ak si to prajete v rámci inej migrácie

class AlterSlugs < ActiveRecord::Migration
def self
#add_index :slugs,:name,:unique
#add_column :slugs,:id,:primary_key
end

def self.down
end
end

Vlastne je celkom zaujímavé-> Ak prepnete tieto dva riadky (add_index a add_column) ...Bolo to práca!


0 pre odpoveď č. 2

narazil si túto chybu.

(Predpokladám, že ste v systéme Windows) Môžete to vyriešiť skopírovaním nového súboru: /// C: /../mysql/lib/opt/libmysql.dll z vášho mysql 5.1 nainštalujte do adresára Ruby / bin.

Potom to znova funguje!


0 pre odpoveď č. 3

Musíte skopírovať a vložiť "libmysql.ddl" znova do priečinka s priečinkom.

Môžete sa dostať do priečinka Mysql Workbench, ak ho máte nainštalovaný vo vašom počítači alebo z alternatívnych zdrojov.


0 pre odpoveď č. 4

Skúste použiť predchádzajúcu verziu mysql gem miesto mysql2 ...

gem "mysql", "2.8.1"
# gem "mysql2"

Ja som narazil na túto chybu dvakrát, v dvoch rôznychprojekty a to v oboch prípadoch zachránil môj deň :) Je tiež potrebné spomenúť, že add_index nespôsobuje žiadne problémy pomocou mysql2 v Ubuntu.Myslím, že ide len o problém Windows.