如何在没有内容的情况下制作网站的克隆 -- 7 领域 和 migration 领域 drupal 相关 的问题

How to make a clone of a website without contents


4
vote

问题

中文

我需要创建我一个网站的克隆。 它将是相同的(模块,视图,内容类型,模板等......) 通过应对一切,我已经完成了一次,然后删除内容和用户。 有正确的方法吗?我需要做3-4个网站副本。 是否有任何模块可以帮助我(备份和迁移的一部分)来执行这些副本?我应该创建一种"分发" 启用模块并创建内容类型,类似于Master One,从划痕然后导出数据库?

如果我常常做(克隆和删除内容和用户),我如何重置内容ID?

提前感谢

英文原文

I need to create a clone of one of my website. It will be the same (modules, views, content types, template etc...) I've already done once by coping everything and then deleting the contents and the users. Is there the right way? I will need to do 3-4 copies of the website. Is there any module that can help me(a part from backup and migrate) to do these copies? Should I create an kind of "distribution" enabling modules and creating content type, similar to the master one, from the scratch and then export the database?

If I do as I always did (clone and delete contents and users), how can I reset the content id?

Thanks in advance

     
       
       

回答列表

4
 
vote
vote
最佳答案
 

我猜你的寻找是功能模块 http://drupal.org/project/features。在创建网站的克隆时,显然所有代码/主题/模块都很容易复制,但获取所有节点类型,字段,视图等的唯一方法是在数据库中。

功能将所有这些信息作为模块导出,因为您可以将其复制到新站点以及所有其他模块,启用它,以及Voila所有您的观点内容类型等。 在功能中,您可以将模块列为依赖关系,因此在启用您所需的所有贡献/核心模块时,您还可以启用(它们需要在您的新区域上存在)。

它完全与大多数大杉木模块以及我理解的内容完全融合。它起初可能是令人生畏的,但不要担心它真的很容易使用。以下视频用于Drupal 6,但功能界面是相同的(据我所知) http://mustardseedmedia.com / podcast / Episode43

还有其他更复杂的方法可以使用疏浚和创建构建脚本来完成后,您可以组合疏浚,构建脚本和功能。但是,我相信正常的功能你会很好。

 

I guess what your looking for is the features module http://drupal.org/project/features. When creating clones of websites, obviously all the code/themes/modules is easy to copy but the only way to get all your node types, fields, views etc... is in the database.

Features exports all this information as a module as you can just copy this to a new site along with all your other modules, enable it, and voila all your views content types etc.. In the features you can list modules as dependencies so when enabling your feature all the contrib/core modules you need are enabled aswell (they will ofcourse need to exist on your new area).

It intergrates fully with most the big contrib modules and from what I understand is exactly what your after. It can be daunting at first but dont worry its really very easy to use. The following video is for drupal 6 but the features interface is identical (as far as I remember) http://mustardseedmedia.com/podcast/episode43

There are other more complex ways to do what your after aswell using drush and creating build scripts, you can ever combine drush, build scripts and features. However I believe just normal features will do you fine.

 
 
         
         
1
 
vote

这不会完全回答你的问题,但它可能有助于一点;一些代码清除系统中的所有用户和节点,然后重置表上的自动增量:

  $uids = db_query('SELECT uid FROM {users} WHERE uid > 1')->fetchCol(); user_delete_multiple($uids); db_query('ALTER TABLE {users} AUTO_INCREMENT = 2');  $nids = db_query('SELECT nid FROM {node}')->fetchCol(); node_delete_multiple($nids); db_query('ALTER TABLE {node} AUTO_INCREMENT = 1');   

您需要在上面运行上面的警告,因为它可能需要很长时间,你可能会超过最大的执行时间。虽然,你可以看一下将其分成批量(如果您决定下行这条路线,可能是另一个问题)。

以这种方式做出做事的好处是所有模块(至少那些行为正确的模块)将在删除实体时清除任何挥之不去的字段/自定义数据,因此您不会在DB中具有停滞数据。

 

This isn't going to answer your question fully but it might help a bit; some code to clear out all users and nodes in the system, then reset the auto-increments on the tables:

$uids = db_query('SELECT uid FROM {users} WHERE uid > 1')->fetchCol(); user_delete_multiple($uids); db_query('ALTER TABLE {users} AUTO_INCREMENT = 2');  $nids = db_query('SELECT nid FROM {node}')->fetchCol(); node_delete_multiple($nids); db_query('ALTER TABLE {node} AUTO_INCREMENT = 1'); 

You'll need to use caution running the above as it's likely to take a long time and you'll probably exceed the max execution time. You could look at splitting it into batches though (probably worth another question if you decide to go down this route).

The benefit of doing things this way is that all modules (at least those that behave themselves properly) will clear up any lingering field/custom data when the entities are deleted, so you won't have stagnant data in your db.

 
 
     
     
0
 
vote

难道你不能完全克隆网站,然后通过内容接口删除所有内容?

如果您将多次进行这一点,它可能值得您到创建安装配置文件

 

Couldn't you just clone the site in its entirety and then delete all the content through the content interface?

If you're going to be doing this multiple times, it might be worth your while to create an install profile.

 
 
       
       
-1
 
vote

复制文件和db后,可以清理 node users 表。

别忘了保持表中的 admin 用户。

 

After copying files and the DB, you can clean up the node and the users Table.

Dont forget to keep the admin user in the table.

 
 
   
   

相关问题

3  无法删除新分类术语的描述字段  ( Cant remove description field for new taxonomy terms ) 
我创建了一种新的分类词汇。出于某种原因,我无法为术语删除描述字段,但我只需要标题字段。 是一个错误还是不可能做的或者是隐藏在某处奇怪的设置?谢谢 ...

0  如何触发词汇术语更新功能?  ( How to trigger function on vocabulary terms update ) 
在编辑/添加/删除的分类词汇表中的任何术语时是触发的钩子? i'v试图使用hook_taxonomy_vocubulary_update但到目前为止没有成功。 ...

0  在标题中显示具有一些字符串的特定节点的块  ( Show block in particular nodes having some string in title ) 
我有一个块,我只需要在某些情况下显示这个块。 例如,如果节点的标题包括"ABC" ,则块将可见其他块。 从块的可见性设置,我使用此代码片段: <?php $match = FALSE; $url = request_uri(); if (strpos($url, "myword")) { $match = ...

8  创建图像链接的“drupal”方式是什么?  ( Whats the drupal way of creating image links ) 
我知道在drupal中创建链接的正确方法是使用 l($text, $path, array $options = array()) 。但这只允许文本链接。是否有类似的功能来创建链接的图像,或者可以单独写出html? ...

0  克服Files_Managed的255个字符URI限制  ( Overcoming 255 character uri limit for files managed ) 
我最近偶然发现了对Drupal的有趣限制。似乎在表格Files_Managed中,存在一个名为"URI" 的字段,它表示由Drupal管理的文件的路径。该字段被定义为varchar(255)。我幸福地忽略了这个事实/限制,直到我们的一个用户启动了一系列导致Drupal试图使用261个字符路径管理文件的事件,此时Dru...

1  Drupal适合那种电子商务吗?  ( Is drupal suitable for that kind of ecommerce ) 
我必须做卖网络售车的网站,我想用d7到这份工作。不幸的是,我以前从未完成任何Drupal电子商务。 我会有点用户: 老师 学生 付款方式:PayPal仅 网络研讨会内容类型: 标题 描述 开始日期(每个网络研讨会长度为60分钟) 地方 价格是所有网络研讨会的价格,由Admin 指定 网络研讨会在开始哥斯达队之前...

1  清理未使用的表  ( Clean up unused tables ) 
我已经为我的Drupal网站安装了一些分析模块。因为它是公司的内部网络,我无法使用它。现在我拥有坐在我的数据库中的模块创建的表(在我强行从Drupal安装中删除模块文件夹之后)。 有没有办法在Drupal 7中清洁未使用的表? 注意:我尝试了架构,但它似乎没有做任何事情,但是显示表在使用中且未使用 ...

0  如何以现有的自定义内容类型创建相关页面或内容类型?  ( How to create a related page or content type with in an existing custom content ) 
我已创建一个是产品页面的自定义内容类型。需要与创建软件产品页面相关的各种信息。例如,产品名称,系统要求和功能,并为我可以制作的每条软件构建自定义页面。 问题是我有一个产品页面,以及获得软件的几种方法: 潜在的试用版从我的网站上下载直接下载。 从Mac App Store购买的链接, 和从快餐商店购买它的链接。 ...

1  重写照片字段URL  ( Rewrite photo field urls ) 
每次我下载到我当地网站的Live数据库的新副本,我也必须下载照片(几个GB)。 有没有一种简单的方法来编写一个"照片" 字段(类型图像)以始终使用实时网址URL? 我正在使用s3但没有找到批量将图像和图像样式的好方法和到S3。 ...

0  节点内的多个节点  ( Multiple nodes within a node ) 
是否有没有模块out,它会提供用于在节点内显示多个节点的功能,即类似于博客如何使用其文章,只需将直接链接到其他节点的页面即可。 很大的事情是CMS部分和在节点内添加现有节点的能力。由此,我的意思是与您将与字段的方式一样,除非在这种情况下,它将是现有节点的列表。 到目前为止,我的尝试诸如设置的尝试已经使用现场集合模块...

0  规则有助于:更新现有内容后  ( Rules help after updating existing content ) 
首次使用规则进行复杂的规则。会欣赏一些帮助。在更新现有节点之后,我正在制作规则将发送电子邮件发送到预定义的电子邮件地址。此节点具有某种类型,此类型具有分类项参考字段。当这种类型的任何节点更新时,由具有某些角色的用户更新,Drupal应该发送电子邮件,并且在电子邮件中,它应该附加分类学术语的<强>名称。 tl;博士/...

2  如何基于当前登录用户的分类术语来显示节点,具有多个词汇表?  ( How to display nodes based on the taxonomy terms of the current logged in user ) 
说我有3个分类词汇表: 产品,专业和支持 每个词汇表有2个术语: 产品 - &gt; 产品1,产品2 职业 - &gt; Profession1 , Profession2 支持 - &gt; Support1 , Support2 用户可以用术语标记。用户A标记为: 产品1和支持1 ...

0  如何隐藏模块中文本字段的文本格式提示,而不是主题?  ( How to hide text format tips for text field in a module not theme ) 
我需要隐藏身体字段的文本格式提示,具体取决于用户角色,在模块中。在一些研究之后,我发现这种代码: function mymodule_form_node_form_alter(&$form, &$form_state) { if (isset($form['body'][LANGUAGE_NONE][0]['...

4  Ajax登录表单中的帖子数据无效  ( Invalid form post data in ajax login form ) 
我正在使用ajax登录表格在Drupal 7网站上工作。我有一个问题,表单工作一次,然后在注销时不起作用,然后再试一次。我需要清空缓存,再试一次,再次尝试。 我认为这是与缓存中未发现的form_id相关的东西,但我不知道如何修复它。 任何解决方案? 感谢 ...

0  更改登录块HTML为D7  ( Changing the login block html for d7 ) 
我想在登录块中更改表单元素,用于D7以将以下内容添加到输入元素: onblur="if(this.value=='') this.value='Username'" onfocus="if(this.value =='Username' ) this.value=''" 我不愿意通过钩形表单更改为此创建一个...

0  具有表单API的Managed_file字段验证错误  ( Error in validation of managed file field with form api ) 
要开始我的解决方案,但出现狂野错误:图像上传在自定义模块中 这是我的代码: function module_top_content_equipe_admin_form(){ $default = get_variable_value(variable_get('module_top_content_equi...

4  Drupal 7:过滤节点,其中日期范围呈现出暴露的日期  ( Drupal 7 filter nodes with a date range arround an exposed date ) 
我的问题有点与日期范围内的公共"列表节点" 相反。 所以,我有一个事件内容类型,具有字段start_date和end_date。他们在事件开始时显示,当事件结束时。现在我需要能够选择一个日期并获取start_date&lt;的所有事件selected_date和end_date&gt; selected_date。 ...

2  按参数的顺序对视图进行排序  ( Sort view by the order of the arguments ) 
我有一个从调查问卷收到一些参数的视图。在调查问卷中,我计算由它们与调查问卷相关的方式进行排序的节点列表。一旦我的视图收到这些参数,它就会通过它们的节点ID对它们进行排序,而不是发送参数时已经应用的自定义排序。 是否有任何模块将在视图中显示我的节点,以相同的顺序从上一页收到参数? 我已经尝试了 wales_argume...

1  为什么Drupal在三条腿OAuth身份验证后不会返回OAuth_Token_secret?  ( Why does drupal not return a oauth token secret after three legged oauth authent ) 
我正在尝试构建使用OAuth身份验证/授权的Drupal 7 Restful服务(我知道差异),我还尝试使用其他来源的RESTful服务。这个想法是,每个人都必须只登录Drupal网站,并且能够使用所有功能。 因此,Drupal站点将是OAuth授权的提供。我有很长的路要走,但我使用OAuth-PHP建立了两个和三条...

1  单独的page.tpl文件for URL  ( Separate page tpl file for url ) 
我创建了一个与页面URL等自定义模块,如 $items['testpage/get'] 。如何为此URL创建一个单独的页面文件。链接就像: http://199.x.x.x/mysitename/testpage/get 。 ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.