sql >> Database teknologi >  >> RDS >> Mysql

Hvordan forbinder jeg en mysql-databasefil til en lokal ruby ​​on rails-applikation

Du kan ikke forbinde en Rails-applikation direkte til en SQL-fil. Rails-applikationen henter sine data fra en databaseserver, og du importerer indholdet af SQL-filen til en database, der hostes af serveren.

Du kan downloade et DMG-arkiv, som installerer MySQL Community Server på din Mac fra http:// dev.mysql.com/downloads/mysql/#downloads

Denne download inkluderer også en praktisk præferencerude til at starte og stoppe serveren.

Når du har MySQL oppe og køre, skal du indstille en adgangskode for root-brugeren (dvs. databasesystemadministratoren) ved hjælp af

mysqladmin -u root password "secret"

— Erstat naturligvis secret med den rigtige adgangskode, du vil bruge.

Derefter kan du opsætte database.yml fil til Rails-applikationen. For en applikation med navnet app det ville se sådan ud:

development:
  adapter: mysql
  database: app_development
  username: root
  password: secret
  host: localhost

test:
  adapter: mysql
  database: app_test
  username: root
  password: secret
  host: localhost

production:
  adapter: mysql
  database: app_production
  username: root
  password: secret
  host: localhost

Bemærk, at du typisk i produktionen ville oprette en separat databasebrugerkonto med begrænset privilegier til Rails-applikationen, som du kan oprette forbindelse til MySQL med, men til udvikling på din lokale maskine er root-kontoen i orden.

Efter dette trin kan du køre rake db:create fra roden af ​​Rails-applikationen i terminalen. Denne kommando vil oprette app_development database i MySQL (rake db:create:all opretter også test- og produktionsdatabaserne). Endelig kan du importere din SQL-fil ved at indtaste følgende kommando i terminalen:

mysql -u root -p app_development < path/to/file/name.sql

Du vil blive bedt om MySQL root-adgangskoden. Erstat path/to/file med den fulde sti til SQL-filen, hvis den ikke er i terminalens aktuelle mappe. Brug f.eks. ~/Desktop/name.sql hvis det er på dit skrivebord.



  1. Hvordan kan jeg få antallet af rækker 'returneret' fra et resultatsæt af en lagret procedure

  2. Codeigniter aktiv post vælg, venstre join, tæl

  3. MySQL-ydelse:Enkeltbord eller flere tabeller

  4. Er det muligt at bruge WHERE-sætning til at vælge alle poster i SQL Statement?