タグ付けされた質問 「install-script」

3
プログラムでMagentoの既存のテーブルに新しい列を追加する方法は?
インストールスクリプトを使用して既存のMagentoコアテーブルに新しい列を追加するにはどうすればよいですか?(純粋なSQLを使用せずに) エイリアスメソッドを使用してインストールスクリプトを作成するMagentoの方法を使用したいと思います。 これまでのところ、いくつかのチュートリアルに従いました。しかし、正常に動作していないようです。SQL回答を使用しないMagentoセットアップスクリプトのこのStackOverflow ALTER TABLEは、私の質問と多少似ていました。しかし、モジュールのconfg.xmlファイルに入れるべきコンテンツは何ですか?リソースモデル、モデル、およびセットアップデータを定義するだけで十分ですか? config.xml(私のモジュールの)関連部分は次のとおりです。 <config> . . . <global> <models> <mymodule> <class>Mynamespace_Mymodule_Model</class> <resourceModel>mymodule_resource</resourceModel> </mymodule> <mymodule_resource> <class>Mynamespace_Mymodule_Model_Resource</class> </mymodule_resource> </models> <resources> <mymodule_setup> <setup> <module>Mynamespace_Mymodule</module> </setup> <connection> <use>core_setup</use> </connection> </mymodule_setup> <mymodule_read> <connection> <use>core_read</use> </connection> </mymodule_read> <mymodule_write> <connection> <use>core_write</use> </connection> </mymodule_write> </resources> . . . . </config> そして、私のインストールスクリプトは次のとおりです。 $installer = $this; $installer->startSetup(); …

5
インストールスクリプトでの$ installer v $ thisの使用
わかりました、インストールスクリプトを使用して、以下を使用する奇妙な規則があるようです: $installer = $this; これは完全に冗長であるため、私は本当に理解していません。 $this->スクリプト全体で使用しないのはなぜですか? この規則が存在する理由に関するアイデアはありますか?

3
アップグレードスクリプトを実行する場合、現在のストアは1です
Mage::app()->getStore()アップグレードスクリプトを実行しているストアビューから独立したアップグレードスクリプト内で(管理者でも)ID 1のストアビューを返す理由は何ですか? つまり、これを行うコードがどこにあるかを知っています。これMage_Core_Model_App::getStore()には: if (!Mage::isInstalled() || $this->getUpdateMode()) { return $this->_getDefaultStore(); } そして_getDefaultStore次のようになります。 if (empty($this->_store)) { $this->_store = Mage::getModel('core/store') ->setId(self::DISTRO_STORE_ID) ->setCode(self::DISTRO_STORE_CODE); } return $this->_store; $this->_store 上記のメソッドに到達すると、常に空になります。 アップグレードスクリプトの先頭にこれを追加しても、同じ結果が得られます。 Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID)); この「機能」を持つビジネスロジックに興味があります。

1
Magento 2アンインストールモジュール
どうやら、Magento 2は、モジュールをアンインストールする際にdbスキーマの変更を許可するアンインストールスクリプトをサポートしているようです(horay !!)。 ここで説明したように、これは composerを介してインストールされたモジュールでのみ機能します。 (将来、すべてのモジュールで機能することを願っていますが、それは別の問題です)。 というモジュールがあるとしましょうTesting_Demo。 このモジュールは、アンインストール時に削除したい3つのことを行います。 というテーブルを追加しますtesting_demo。だから私はそれを落とす必要があります。 という製品属性を追加しますdemo。これは削除する必要があります system->configurationテーブルに保存されるかもしれないかもしれないいくつかの設定があるcore_config_data。これらすべての設定にはパスがありますtesting_demo/...。したがって、これらも削除する必要があります。 モジュールのアンインストールスクリプトはどのようになりますか?

1
eavSetupを見ると、タイプと入力に使用できる値は何ですか?
Magento 2のインストールスクリプトを作成するときに、タイプと入力部分に使用できる値は何eavSetup->addAttribute()ですか?または、どこで調べればよいでしょうか? $eavSetup->addAttribute( \Magento\Catalog\Model\Product::ENTITY, 'some_attr', [ 'type' => '', 'backend' => '', 'frontend' => '', 'label' => 'Test Attribute', 'input' => '', 'class' => '', 'source' => '', 'global' => \Magento\Catalog\Model\Resource\Eav\Attribute::SCOPE_GLOBAL, 'visible' => true, 'required' => false, 'user_defined' => false, 'default' => 0, 'searchable' => false, 'filterable' => false, 'comparable' …

3
Magento2 InstallSchemaは既存のテーブルに新しい列を追加します
magento2の既存のテーブルに新しい列を追加しようとしています <?php namespace Vendor\Module\Setup; use Magento\Framework\Setup\InstallSchemaInterface; use Magento\Framework\Setup\ModuleContextInterface; use Magento\Framework\Setup\SchemaSetupInterface; /** * @codeCoverageIgnore */ class InstallSchema implements InstallSchemaInterface { /** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); $eavTable = $installer->getTable('eav_attribute'); $columns = [ 'my_column' => [ 'type' => \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, 'length' => …

3
Magento 2「VARCHAR」タイプのフィールドをカスタムテーブルに追加
次の場所にある現在のコアデータベースアダプタファイル(Table.php)をご覧ください。 magento-2 / vendor / magento / framework / DB / Ddl: <?php /** * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ /** * Data Definition for table * * @author Magento Core Team <core@magentocommerce.com> */ namespace Magento\Framework\DB\Ddl; use Magento\Framework\DB\Adapter\AdapterInterface; class Table { …

1
schema_versionとデータバージョンが異なるのはいつですか?
たとえば、私のモジュールにセットアップスクリプトがない場合setup_version、module.xmlファイル内のタグを無視できますか。 m1に自動的にインストールされるモジュールでは、最初にエラーがスローされます(セットアップアップグレードコマンドを実行しない場合)。セットアップアップグレードを手動で実行する必要があるのはなぜですか? どのようなシナリオであるschema_versionとdata_version違うのでしょうか? setup_moduleテーブルのほとんどのレコードに同じ値が含まれていることがわかりました。

3
Magento 2データ型。時間が必要です
これは、その列のデータ・タイプ表示されますTIME(ないdatetime例えば、一日の時間だけ、12:00ではサポートされていませんが)Magento 2。 時刻を保存する必要があります。これを回避するにはどうすればよいですか? 利用可能なツールとデータ型をどのように使用すればよいですか? 私は通常の特徴的な日付(1970-01-01 12:00:00データを閲覧する人を混乱させないように十分に区別できるようなもの)を保存し、それから時刻部分をで抽出することを考えましたがUI、それは恐ろしくて私をうんざりさせます。 よりエレガントな方法はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.