doctrine2到底历史是个什么玩意儿

收藏,631 浏览
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
如果是xml的话,那么有没有什么关于复杂表对表文档说明,比如
多对一的定义
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
1月15日 回答
感覺用PHP比較好
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
4月28日 回答
两种都可以,而且还有更多的选择,如其他回答者说的PHP也是其中一种,我个人用的时Annotation也就是注解的方式,使用注解的方式,实体类的声明和ORM的配置就融合在一个实体类文件里面了,妈妈再也不用担心我要找实体类的ORM配置文件了,哈哈哈。
没有固定说哪种方式比较好,而是看哪种配置方式符合你个人的风格或者整个团队的风格。
希望能帮到你。
同步到新浪微博
不要错过该问题的后续解决方案
如果你没找到答案,记得登录关注哦,大家会尽全力帮你解决的 ^___^
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
举报理由:
推广(招聘、广告、SEO 等)方面的内容
带有人身攻击、辱骂、仇恨等违反条款的内容
与已有问题重复(请编辑该提问指向已有相同问题)
内容质量差,或不适合在本网站出现
答非所问,不符合答题要求
其他原因(请补充说明)
补充说明:你好, 新朋友!
點下面的按鈕可以加入我們!
本討論參與人
在 Ubuntu 使用 Doctrine2+migrations 記錄
其實是因為想要用 Doctrine2 的 migrations 功能,雖然 Doctrine1 就有這樣的功能,但是人總是...也同時要抱怨, cakephp 的 migration plugin 是個非常陽春的東西,不建議使用(雖然用的人也不多),使用了一陣子發現很容易遇到欄位類型不支援的瓶頸。1. 在官方網站[1]下載 DoctrineORM-2.1.1-full.tar.gz ,解壓縮到 /home/kiang/bin/doctrine-ormkiang@kiang-W510:~/bin$ ls doctrine-orm/bin
LICENSE2. 下載 migrations 最新版本,將對應目錄移動到 DBAL 中svn export http:///doctrine/migrations.git migrationscp -R migrations/lib/Doctrine/DBAL/Migrations /home/kiang/bin/doctrine-orm/Doctrine/DBAL/3. 參考文件說明[2],在 Doctrine/ORM/Tools/Console/ConsoleRunner.php 的 function addCommands() 加入
static public function addCommands(Application $cli) {
$cli-&addCommands(array(...
// Migrations Commands
new \Doctrine\DBAL\Migrations\Tools\Console\Command\DiffCommand(),
new \Doctrine\DBAL\Migrations\Tools\Console\Command\ExecuteCommand(),
new \Doctrine\DBAL\Migrations\Tools\Console\Command\GenerateCommand(),
new \Doctrine\DBAL\Migrations\Tools\Console\Command\MigrateCommand(),
new \Doctrine\DBAL\Migrations\Tools\Console\Command\StatusCommand(),
new \Doctrine\DBAL\Migrations\Tools\Console\Command\VersionCommand()
}4. 建立 bin/doctrine2 ,並且透過 chmod 755 設定為可以執行#!/usr/bin/env php&?phpinclude('doctrine-orm/bin/doctrine.php');6. 在 doctrine-orm/bin/doctrine.php 加入 include_path 設定ini_set('include_path',ini_get('include_path').':/home/kiang/bin/doctrine-orm');7. 在自己的專案目錄建立一個 cli-config.php ,放入下面內容:&?phprequire_once 'Doctrine/Common/ClassLoader.php';$classLoader = new \Doctrine\Common\ClassLoader('Entities', __DIR__);$classLoader-&register();$classLoader = new \Doctrine\Common\ClassLoader('Proxies', __DIR__);$classLoader-&register();$config = new \Doctrine\ORM\Configuration();$config-&setMetadataCacheImpl(new \Doctrine\Common\Cache\ArrayCache);$config-&setProxyDir(__DIR__ . '/Proxies');$config-&setProxyNamespace('Proxies');$driver = new \Doctrine\ORM\Mapping\Driver\YamlDriver($path . '/doctrine2/default/yml');$config-&setMetadataDriverImpl($driver);$connectionOptions = array(
'driver' =& 'pdo_pgsql',
'host' =& '主機',
'user' =& '使用者',
'password' =& '密碼',
'dbname' =& '資料庫',);$em = \Doctrine\ORM\EntityManager::create($connectionOptions, $config);$helperSet = new \Symfony\Component\Console\Helper\HelperSet(array(
'db' =& new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em-&getConnection()),
'dialog' =& new \Symfony\Component\Console\Helper\DialogHelper(),
'em' =& new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em)
));8. 接著就可以在自己的專案目錄執行指令,我會透過下面指令產生資料表描述檔doctrine2 orm:convert-mapping --namespace=\&Entities\\\\& --from-database yml ymldoctrine2 orm:generate-entities .doctrine2 migrations:diff --configuration=\&db.yml\&9. db.yml 內容:---name: MyMigrationsmigrations_namespace: MyMigrations table_name: migration_versionmigrations_directory: migrations由於 Doctrine2 的習慣是先修改資料表定義檔,接著套用到資料表,因此一般的習慣操作是1. 修改 yml 中的資料表定義2. 透過 orm:generate-entities 更新 models3. 透過 migrations:diff 產生版本記錄4. 透過 migrations:migration 將異動套用到資料表中對於既有程式的資料庫,我的作法是先以現有資料庫產生 yml & models ,然後暫時將設定指向一個空的資料庫,透過 migration 產生版本檔,然後再改回去。而如果是先直接修改了資料表,我會先將設定指向一個空的資料庫,透過 orm:schema-tool:create 建立一個修改前的架構副本,然後設定改回新資料庫產生新的 yml & models ,接著再指向副本產生 migration 版本,然後改回原有設定以及刪除副本[1] [2] 原始討論:
上面 --namespace="Entities 後面斜線有兩條,討論區吃掉其中一條...另外就是透過 migrations 產生的版本檔會有很多關於 sequences 與 constraints 的雜訊(PostgreSQL既有資料庫),也許將資料表結構都透過它管理會比較單純,自行調整資料表後進行更新的操作會比較多問題。它最大的好處是可以自動比對資料表與定義檔的差異,在多個執行環境間運作時比較不會有因為欄位定義不同步的問題Posts - 314,
Articles - 0,
Comments - 754
-正确的时间经历正确的事情
随笔档案 - 2013年10月
11:48 by 轩脉刃, 5073 阅读, ,
在使用top命令的时候会看到这么一行: 里面的各个值分别是什么意思呢? 今天被问到这个问题,发现答的不是很清楚。果然啊,天天用最多的top命令都还没摸透。。。惭愧。。。于是就查了些资料: 官方解释 Cpu(s)表示的是cpu信息。各个值的意思是: us: user cpu time (or) % CPU time spent in user space sy: system cpu...
20:09 by 轩脉刃, 879 阅读, ,
Linux 的启动流程 /blog/2013/08/linux_boot_process.html 8天学通MongoDB——第三天 细说高级操作 /huangxincheng/archive//2361205.html Javascript执行效率小结 http...
10:35 by 轩脉刃, 3963 阅读, ,
之前和最近一个项目用到了Doctrine,由于是别人搭建的,自己没有很了解,最近又开始做的时候发现拙荆见肘,于是看了一下doctrine教程,本文就是加上自己理解的doctrine教程文档笔记了。Doctrine2 配置需求需要php5.3.3及以上可以使用composer安装什么是Doctrine?Doctrine是一个ORM(Object-relational mapper),提供php数据库和PHP对象的映射。他和其他的ORM一样都是为了保证持久层和逻辑层的分类而存在的。什么是EntityEntity是PHP的一个对象Entity对应的表需要有主键Entity中不能含有final属性或者
13:55 by 轩脉刃, 827 阅读, ,
安装systemtap 按照官网说的安装:http://sourceware.org/systemtap/wiki/SystemTapOnCentOS 我的操作系统是centos uname -rm: 2.6.18-164.el5xen x86_64 yum install systemtap wget http://debuginfo.centos.org/5/x86_64/kern...
18:17 by 轩脉刃, 585 阅读, ,
/developerworks/cn/linux/l-cn-utrace/ utrace是为运行态的进程提供trace和debug支持。 utrace能做如下事情: 1 跟踪目标进程的各种事件 2 Debugger能控制调试程序,让目标暂停或者单步执行 3 对目标进程地址空间的访问能力 可以使用nuttcp来确认两机之间的吞吐量 在一台机器上使用n...
09:56 by 轩脉刃, 1770 阅读, ,
在sublime text2中安装package control插件的时候是执行python: import urllib2, pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else N ...
09:38 by 轩脉刃, 783 阅读, ,
朋友找我在一台机器上帮忙安装下discuz。想着搭建过好几次的lnmp了,但是还没有使用过“一键安装”的自动化脚本,去网上有搜索出来,但是运行的时候发现用root运行别人的脚本还是真危险的事情,于是明白这不是个轮子,而是个井,每个程序员有必要自己挖一口的了。所以想着自己写个自动化安装lnmp的脚本lnmp_auto。 源代码在github上:/jianfeng...Steam打折 还得请教群雄们推荐几个综合能力 主流的指挥官_coh2吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:13,342贴子:
Steam打折 还得请教群雄们推荐几个综合能力 主流的指挥官
CoH 2 - German Commander: Elite Troops DoctrineCoH 2 - Soviet Commander: Soviet Industry TacticsCoH 2 - Soviet Commander: Partisan TacticsCoH 2 - German Commander: Luftwaffe Supply DoctrineCOH 2 - Soviet Commander: Urban Defense TacticsCOH 2 - Soviet Commander: Counterattack TacticsCoH2 - German Commander: Mechanized Assault DoctrineCOH 2 - German Commander: Osttruppen DoctrineCOH 2 - Soviet Commander: Mechanized Support TacticsCOH 2 - German Commander: Fortified Armor DoctrineCOH 2 - Soviet Commander: Armored Assault Tactics
COH 2 - German Commander: Lightning War DoctrineCOH 2 - Soviet Commander: Conscript Support TacticsCOH 2 - German Commander: Storm DoctrineCOH 2 - Soviet Commander: Terror TacticsCOH 2 - Soviet Commander: Anti-Infantry TacticsCOH 2 - German Commander: Joint Operations DoctrineCOH 2 - German Commander: Spearhead Doctrine...................................................
相关的贴子104324794相关的图贴
Mechanized Assault Doctrine 土鸡蛋Elite Troops Doctrine 土豪金Soviet Industry Tactics 毛妹这仨虽然现在不是特别强力但好歹也是有特色牛逼过的,土鸡蛋现在还经常见到。Luftwaffe Supply Doctrine 空军亲儿子Urban Defense Tactics 前线兵营Osttruppen Doctrine 东方营这仨玩得好就是MVP的节奏,玩砸了可以超鬼。 Spearhead Doctrine 装甲先锋付费指挥官里技能相对全面的。 其实免费的指挥官也挺够用了,德军欧宝,苏军152或者美援。
同楼上全买还用纠结吗,再说了打折呀买了都玩玩。我就界面皮肤没买车辆皮肤买了小部分。
现在才50off,急什么···到7月1之前肯定会有75off的机会···一个指挥官打折之后还要2刀不划算
楼主不上首页的游戏不是最低价等等吧看我的打折预感
基本的五名指挥官比八成的付费指挥官好用。
干嘛不等75%off 现在买好贵
内&&容:使用签名档&&
保存至快速回贴
为兴趣而生,贴吧更懂你。&或

我要回帖

更多关于 doctrine2 中文手册 的文章

 

随机推荐