2013-10-18 15 views
1

背景:如何在使用symfony教條時添加actAs:構建模式

(1)我使用mysql工作臺來設計我的數據庫。 (2)然後我使用mysql工作臺中的「同步模型」工具將我的修改應用到mysql數據庫。 (3)最後我用symfony doctrine:build-schema命令根據數據庫生成schema.yml(出於某種遺留原因,我必須使用Symfony 1.4)。

問題出在這裏:我想添加actAs: { Timestampable: ~ }到schema.yml,但是symfony doctrine:build-schema命令不能這樣做。

我能想到的解決方案是編寫一個shell來編輯schema.yml。顯然這不是一個優雅的解決方案。

任何建議,非常感謝。

回答

0

1)由命令symfony doctrine:build-schema

2)中的schema.yml

Something: 
    actAs: 
    Timestampable: 
    columns: 
... 
+0

已經花了哇,對不起了整個週末的回覆晚了。也許我沒有說清楚。命令symfony doctrine:build-schema不會出錯。我只想命令symfony學說:構建模式自動添加'actas:Timestampable'到schemal.yml自動 – wander

0

我用MySQL Workbench Schema Exporter(一個開源的PHP庫項目),以節省時間和完整嘗試這樣的代碼給出了什麼錯誤建模過程中的所有數據庫模型定義任務。評論這個Installation Tutorial

使用MySQL Workbench Schema Exporter,您可以使用表註釋來定義錶行爲。要將timestampable添加行爲把這個在您的意見表定義:

{MwbExporter:actAs}actAs: [Timestampable]{/MwbExporter:actAs} 

然後導出模型(* .mwb文件)到YAML使用MySQL Workbench Schema Exporter* .yml文件)並放置進去。/config/schema /文件夾,以便創建一個sql腳本,然後將其加載到已經用symfony配置的數據庫中。這很容易!就像這樣:

  1. 導出模型YAML

    php bin/mysql-workbench-schema-export your_model.mwb

  2. 複製的schema.yml文件來進行./config/schema文件夾位置

  3. 創建一個SQL腳本

    php symfony doctrine:build-sql

  4. 現在用物理構建模型:

    php symfony doctrine:build-model

相關問題